home *** CD-ROM | disk | FTP | other *** search
/ Mac-Source 1994 July / Mac-Source_July_1994.iso / C and C++ / Compilers⁄Interps / kevoSource / portWindows.h < prev    next >
Text File  |  1993-03-13  |  2KB  |  82 lines

  1. /* Kevo -- a prototype-based object-oriented language */
  2. /* (c) Antero Taivalsaari 1991-1993                   */
  3. /* Some parts (c) Antero Taivalsaari 1986-1988           */
  4. /* portWindows.h: Non-portable window structures and operations    */
  5.  
  6.  
  7. /* Generic printing operations */
  8.  
  9. void ownPrintf();
  10. void ownCr();
  11.  
  12.  
  13. /* Window information structure */
  14. /* 
  15.     Each Kevo window has one of these structs stored
  16.     in its 'RefCon' field.
  17.     
  18.     Different window kinds have been listed in
  19.     'portGlobal.h'.
  20.  
  21.     If the window is a TextEdit window, the 'wConF1' field
  22.     contains a reference to a TextEdit. 
  23.  
  24.     If the window is a Browser window, the 'wConF1' field refers
  25.     to the icon list.
  26.  
  27.     If the window is a plain window, then all the fields are NIL.
  28.     
  29.     ----------
  30.     
  31.     The 'wConF2' and 'wConF3' fields are used only for method redefinition windows
  32.     (which are of type TEWKind). For such window, these fields contain the object whose
  33.     method is being redefined, and the exact pair which is being redefined.
  34.  
  35.     Added later: 'wConF2' field stores additional window information for ordinary
  36.     browser windows.
  37. */
  38.  
  39. typedef struct winfoStruct    WINFO;
  40.  
  41. struct winfoStruct {
  42.     int        wKind;        /* window kind (see portGlobal.h) */
  43.     void*    wConF1;        /* additional window information (contents field 1) */
  44.     void*    wConF2;        /* additional window information (contents field 2) */
  45.     void*    wConF3;        /* additional window information (contents field 3) */
  46. };
  47.  
  48. /* Window info operations */
  49.  
  50. WINFO*         createWinfo();
  51. void         deleteWinfo();
  52.  
  53. TEHandle     getWindowTE();
  54. int             getWindowKind();
  55.  
  56. ListHandle    getBrowserIcons();
  57. void        setBrowserIcons();
  58.  
  59. char*        getBrowserIdent();
  60. void        setBrowserIdent();
  61.  
  62. OBJECT*        getMethodContext();
  63. void        setMethodContext();
  64.  
  65. PAIR*        getMethodPair();
  66. void        setMethodPair();
  67.  
  68.  
  69. /* GUI auxiliaries */
  70.  
  71. WindowPtr buildWindow();
  72. WindowPtr buildTEWindow();
  73.  
  74. TASK**      determineTask();
  75.  
  76. void      deleteWindow();
  77. void      resizeWindowTE();
  78.  
  79. int          countVisibleWindow();
  80. void      replaceMenuMetas();
  81.  
  82.